package com.decent.ejfadmin.common.bean;


import com.decent.ejfadmin.utils.ToolsExecute;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 供货日报表
 *
 * @author hejunlei
 */
@Data
public class SupplyDailySheet {
    /**
     * 自增id
     */
    private Long id;
    /**
     * 会员id
     */
    private Long userId;
    /**
     * 日期
     */
    private String startTime;
    /**
     * 期初余额
     */
    private BigDecimal beginBalance = new BigDecimal(0);
    /**
     * 提现支付宝金额
     */
    private BigDecimal withdrawMoney = new BigDecimal(0);
    /**
     * 提现银行卡金额
     */
    private BigDecimal withdrawBankMoney = new BigDecimal(0);
    /**
     * 补结金额(三网+虚商)
     */
    private BigDecimal fixMoney = new BigDecimal(0);
    /**
     * 补结金额(加油卡)
     */
    private BigDecimal fixFuelMoney = new BigDecimal(0);
    /**
     * 期末余额
     */
    private BigDecimal endBalance = new BigDecimal(0);
    /**
     * 入账金额
     */
    private BigDecimal entryMoney = new BigDecimal(0);
    /**
     * 差额
     */
    private BigDecimal defference = new BigDecimal(0);
    /**
     * 汇总面值
     */
    private BigDecimal summaryFace = new BigDecimal(0);
    /**
     * 移动成功面值
     */
    private BigDecimal mobileSuccessFace = new BigDecimal(0);
    /**
     * 联通成功面值
     */
    private BigDecimal unicomSuccessFace = new BigDecimal(0);
    /**
     * 电信成功面值
     */
    private BigDecimal telecomSuccessFace = new BigDecimal(0);
    /**
     * 虚商成功面值
     */
    private BigDecimal virtualSuccessFace = new BigDecimal(0);
    /**
     * 加油卡成功面值
     */
    private BigDecimal fuelSuccessFace = new BigDecimal(0);
    /**
     * 移动入账金额
     */
    private BigDecimal mobileEntryMoney = new BigDecimal(0);
    /**
     * 联通入账金额
     */
    private BigDecimal unicomEntryMoney = new BigDecimal(0);
    /**
     * 电信入账金额
     */
    private BigDecimal telecomEntryMoney = new BigDecimal(0);
    /**
     * 虚商入账金额
     */
    private BigDecimal virtualEntryMoney = new BigDecimal(0);
    /**
     * 加油卡入账金额
     */
    private BigDecimal fuelEntryMoney = new BigDecimal(0);
    /**
     * 返佣
     */
    private BigDecimal rebate = new BigDecimal(0);
    /**
     * 提现手续费
     */
    private BigDecimal servicePrice = new BigDecimal(0);
    /**
     * 手动退款
     */
    private BigDecimal manualRefund = new BigDecimal(0);
    /**
     * 易服务汇总金额
     */
    private BigDecimal easyServerMoney = new BigDecimal(0);
    /**
     * 易缴费汇总金额
     */
    private BigDecimal ejfMoney = new BigDecimal(0);
    /**
     * 代理商
     */
    private String agentNo;
    /**
     * 权益金额
     */
    private BigDecimal equityMoney = new BigDecimal(0);
    /**
     * 权益面值
     */
    private BigDecimal equitySuccessFace = new BigDecimal(0);
    /**
     * 权益补结金额
     */
    private BigDecimal fixEquityMoney = new BigDecimal(0);
    /**
     * Q币金额
     */
    private BigDecimal qbEntryMoney = new BigDecimal(0);
    /**
     * Q币面值
     */
    private BigDecimal qbSuccessFace = new BigDecimal(0);

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public BigDecimal getBeginBalance() {
        return ToolsExecute.decimalKillZero(beginBalance);
    }

    public void setBeginBalance(BigDecimal beginBalance) {
        this.beginBalance = beginBalance;
    }

    public BigDecimal getWithdrawMoney() {
        return ToolsExecute.decimalKillZero(withdrawMoney);
    }

    public void setWithdrawMoney(BigDecimal withdrawMoney) {
        this.withdrawMoney = withdrawMoney;
    }

    public BigDecimal getWithdrawBankMoney() {
        return ToolsExecute.decimalKillZero(withdrawBankMoney);
    }

    public void setWithdrawBankMoney(BigDecimal withdrawBankMoney) {
        this.withdrawBankMoney = withdrawBankMoney;
    }

    public BigDecimal getFixMoney() {
        return ToolsExecute.decimalKillZero(fixMoney);
    }

    public void setFixMoney(BigDecimal fixMoney) {
        this.fixMoney = fixMoney;
    }

    public BigDecimal getEndBalance() {
        return ToolsExecute.decimalKillZero(endBalance);
    }

    public void setEndBalance(BigDecimal endBalance) {
        this.endBalance = endBalance;
    }

    public BigDecimal getEntryMoney() {
        return ToolsExecute.decimalKillZero(entryMoney);
    }

    public void setEntryMoney(BigDecimal entryMoney) {
        this.entryMoney = entryMoney;
    }

    public BigDecimal getDefference() {
        return ToolsExecute.decimalKillZero(defference);
    }

    public void setDefference(BigDecimal defference) {
        this.defference = defference;
    }

    public BigDecimal getSummaryFace() {
        return ToolsExecute.decimalKillZero(summaryFace);
    }

    public void setSummaryFace(BigDecimal summaryFace) {
        this.summaryFace = summaryFace;
    }

    public BigDecimal getMobileSuccessFace() {
        return ToolsExecute.decimalKillZero(mobileSuccessFace);
    }

    public void setMobileSuccessFace(BigDecimal mobileSuccessFace) {
        this.mobileSuccessFace = mobileSuccessFace;
    }

    public BigDecimal getUnicomSuccessFace() {
        return ToolsExecute.decimalKillZero(unicomSuccessFace);
    }

    public void setUnicomSuccessFace(BigDecimal unicomSuccessFace) {
        this.unicomSuccessFace = unicomSuccessFace;
    }

    public BigDecimal getTelecomSuccessFace() {
        return ToolsExecute.decimalKillZero(telecomSuccessFace);
    }

    public void setTelecomSuccessFace(BigDecimal telecomSuccessFace) {
        this.telecomSuccessFace = telecomSuccessFace;
    }

    public BigDecimal getMobileEntryMoney() {
        return ToolsExecute.decimalKillZero(mobileEntryMoney);
    }

    public void setMobileEntryMoney(BigDecimal mobileEntryMoney) {
        this.mobileEntryMoney = mobileEntryMoney;
    }

    public BigDecimal getUnicomEntryMoney() {
        return ToolsExecute.decimalKillZero(unicomEntryMoney);
    }

    public void setUnicomEntryMoney(BigDecimal unicomEntryMoney) {
        this.unicomEntryMoney = unicomEntryMoney;
    }

    public BigDecimal getTelecomEntryMoney() {
        return ToolsExecute.decimalKillZero(telecomEntryMoney);
    }

    public void setTelecomEntryMoney(BigDecimal telecomEntryMoney) {
        this.telecomEntryMoney = telecomEntryMoney;
    }

    public BigDecimal getVirtualSuccessFace() {
        return ToolsExecute.decimalKillZero(virtualSuccessFace);
    }

    public void setVirtualSuccessFace(BigDecimal virtualSuccessFace) {
        this.virtualSuccessFace = virtualSuccessFace;
    }

    public BigDecimal getVirtualEntryMoney() {
        return ToolsExecute.decimalKillZero(virtualEntryMoney);
    }

    public void setVirtualEntryMoney(BigDecimal virtualEntryMoney) {
        this.virtualEntryMoney = virtualEntryMoney;
    }

    public BigDecimal getFuelSuccessFace() {
        return ToolsExecute.decimalKillZero(fuelSuccessFace);
    }

    public void setFuelSuccessFace(BigDecimal fuelSuccessFace) {
        this.fuelSuccessFace = fuelSuccessFace;
    }

    public BigDecimal getFuelEntryMoney() {
        return ToolsExecute.decimalKillZero(fuelEntryMoney);
    }

    public void setFuelEntryMoney(BigDecimal fuelEntryMoney) {
        this.fuelEntryMoney = fuelEntryMoney;
    }

    public BigDecimal getFixFuelMoney() {
        return ToolsExecute.decimalKillZero(fixFuelMoney);
    }

    public void setFixFuelMoney(BigDecimal fixFuelMoney) {
        this.fixFuelMoney = fixFuelMoney;
    }

    public BigDecimal getRebate() {
        return ToolsExecute.decimalKillZero(rebate);
    }

    public void setRebate(BigDecimal rebate) {
        this.rebate = rebate;
    }

    public BigDecimal getEasyServerMoney() {
        return easyServerMoney;
    }

    public void setEasyServerMoney(BigDecimal easyServerMoney) {
        this.easyServerMoney = easyServerMoney;
    }

    public BigDecimal getEjfMoney() {
        return ejfMoney;
    }

    public void setEjfMoney(BigDecimal ejfMoney) {
        this.ejfMoney = ejfMoney;
    }

    public String getAgentNo() {
        return agentNo;
    }

    public void setAgentNo(String agentNo) {
        this.agentNo = agentNo;
    }

    public BigDecimal getEquityMoney() {
        return equityMoney;
    }

    public void setEquityMoney(BigDecimal equityMoney) {
        this.equityMoney = equityMoney;
    }

    public BigDecimal getEquitySuccessFace() {
        return equitySuccessFace;
    }

    public void setEquitySuccessFace(BigDecimal equitySuccessFace) {
        this.equitySuccessFace = equitySuccessFace;
    }

    public BigDecimal getFixEquityMoney() {
        return fixEquityMoney;
    }

    public void setFixEquityMoney(BigDecimal fixEquityMoney) {
        this.fixEquityMoney = fixEquityMoney;
    }

    public BigDecimal getQbEntryMoney() {
        return qbEntryMoney;
    }

    public void setQbEntryMoney(BigDecimal qbEntryMoney) {
        this.qbEntryMoney = qbEntryMoney;
    }

    public BigDecimal getQbSuccessFace() {
        return qbSuccessFace;
    }

    public void setQbSuccessFace(BigDecimal qbSuccessFace) {
        this.qbSuccessFace = qbSuccessFace;
    }
    @Override
    public String toString() {
        return "SupplyDailySheet{" +
                "id=" + id +
                ", userId=" + userId +
                ", startTime='" + startTime + '\'' +
                ", beginBalance=" + beginBalance +
                ", withdrawMoney=" + withdrawMoney +
                ", withdrawBankMoney=" + withdrawBankMoney +
                ", fixMoney=" + fixMoney +
                ", fixFuelMoney=" + fixFuelMoney +
                ", endBalance=" + endBalance +
                ", entryMoney=" + entryMoney +
                ", defference=" + defference +
                ", summaryFace=" + summaryFace +
                ", mobileSuccessFace=" + mobileSuccessFace +
                ", unicomSuccessFace=" + unicomSuccessFace +
                ", telecomSuccessFace=" + telecomSuccessFace +
                ", virtualSuccessFace=" + virtualSuccessFace +
                ", fuelSuccessFace=" + fuelSuccessFace +
                ", mobileEntryMoney=" + mobileEntryMoney +
                ", unicomEntryMoney=" + unicomEntryMoney +
                ", telecomEntryMoney=" + telecomEntryMoney +
                ", virtualEntryMoney=" + virtualEntryMoney +
                ", fuelEntryMoney=" + fuelEntryMoney +
                ", rebate=" + rebate +
                ", servicePrice=" + servicePrice +
                ", easyServerMoney=" + easyServerMoney +
                ", ejfMoney=" + ejfMoney +
                ", agentNo='" + agentNo + '\'' +
                ", equityMoney=" + equityMoney +
                ", equitySuccessFace=" + equitySuccessFace +
                ", fixEquityMoney=" + fixEquityMoney +
                ", qbEntryMoney=" + qbEntryMoney +
                ", qbSuccessFace=" + qbSuccessFace +
                '}';
    }

    /**
     * 虚商成功面值汇总
     *
     * @param successFace 某虚商成功面值
     */
    public void addVirtualSuccessFace(BigDecimal successFace) {
        virtualSuccessFace = virtualSuccessFace.add(successFace);
    }

    /**
     * 虚商入账金额汇总
     *
     * @param entryMoney 某虚商入账金额
     */
    public void addVirtualEntryMoney(BigDecimal entryMoney) {
        virtualEntryMoney = virtualEntryMoney.add(entryMoney);
    }

    /**
     * 加油卡成功面值汇总
     *
     * @param successFace 某加油卡成功面值
     */
    public void addFuelSuccessFace(BigDecimal successFace) {
        fuelSuccessFace = fuelSuccessFace.add(successFace);
    }

    /**
     * 加油卡入账金额汇总
     *
     * @param entryMoney 某加油卡入账金额
     */
    public void addFuelEntryMoney(BigDecimal entryMoney) {
        fuelEntryMoney = fuelEntryMoney.add(entryMoney);
    }
}
